package org.wang.generalcode.modules.sys.converter;

import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.wang.generalcode.modules.sys.excel.UserImportDTO;
import org.wang.generalcode.modules.sys.pojo.params.UserParams;
import org.wang.generalcode.modules.sys.pojo.entity.User;

/**
 * 用户对象转换器
 *
 * @author wangchong
 * @since 2022/6/8
 */
@Mapper(componentModel = "spring")
public interface UserConverter {

//    @Mappings({
//            @Mapping(target = "genderLabel", expression = "java(com.youlai.system.common.base.IBaseEnum.getLabelByValue(bo.getGender(), com.youlai.system.enums.GenderEnum.class))")
//    })
//    UserPageVO toPageVo(UserBO bo);

//    Page<UserPageVO> toPageVo(Page<UserBO> bo);

    UserParams toForm(User entity);

    @InheritInverseConfiguration(name = "toForm")
    User toEntity(UserParams entity);
//
//    @Mappings({
//            @Mapping(target = "userId", source = "id")
//    })
//    UserInfoVO toUserInfoVo(User entity);
//
    User toEntity(UserImportDTO vo);

}
